Einrichtung einer SSL-Verbindung in Tomcat

Wenn Tomcat mit einer SSL-Verschlüsselung arbeiten soll, dann sollte von vornherein das JDK 1.4.x installiert werden, weil dies die notwendigen Bibliotheken dazu enthält. Eine bestehende JDK-1.3.Installation kann aber genutzt werden, wenn die Verschlüsselungs-Klassen von Java (jsse.jar, jnet.jar,jcert.jar[11]) nach $JAVA_HOME/jre/lib/ext kopiert werden. Es gibt ferner die Möglichkeit, die Verschlüsselung vom Webserver (Apache oder IIS) vornehmen zu lassen (siehe Tomcat-Dokumentation in tomcat-docs/tomcat-ssl-howto.htm); da SuperX aber kaum statische html-Seiten enthält, empfehlen wir immer,die Verschlüsselung direkt in Tomcat einzurichten. Dies ist relativ einfach, wenn kein öffentlich bekanntes und signiertes Zertifikat genutzt werden soll.

Erzeugen Sie auf dem Webserver einen Keystore mit dem Befehl

 

Windows:

%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

UNIX:

$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

 

Die Parameter werden erfragt; wichtig ist, dass der erste Eintrag (Vor- und Nachname, COMMON NAME CN) der DNS-Name des Werbservers ist, z.B. superx.verwaltung.uni-duisburg.de. Als Passwort geben Sie beide Male "changeit" an. Draufhin wird ein Zertifikat erzeugt und in der Datei .keystore im Homeverzeichnis des Benutzers angelegt (unter Windows im Profiles-Verzeichnis, unter UNIX im home-Verzeichnis).

Das persönliche Zertifikat können Sie durch einen kommerziellen Zertifizierungsserver publizieren; zu Testzwecken können Sie auch ein selbsterstelltes Zertifikat erzeugen:

keytool -selfcert -alias tomcat -validity <<Anzahl der Tage>>

Danach ändern Sie die Datei $TOMCAT_HOME/conf/server.xml, indem Sie die Passage mit der SSL-Verschlüsselung ent-kommentieren und den normalen Port (8080) auskommentieren. Danach ist das Servlet über https://localhost:8443 statt http://localhost:8080 erreichbar. Sie müssen alle Links entsprechend ändern und in der Datei superx.properties die Zeile

 

superx.properties mit ssl

SxServerURL=https://localhost:8443/superx/servlet/SuperXDBServlet

statt

SxServerURL=http://localhost:8080/superx/servlet/SuperXDBServlet

aktivieren.

 

Das Zertifikat können Sie löschen, indem Sie auf der Kommandozeile eingeben:

keytool -delete -alias tomcat

 


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 63 / 277
Letzter Update: 18.08.2008
Impressum